home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / amos / amosl0794.lzh / AMOSLIST / 000013_amos-request@svcs1.digex.net_Tue Jul 5 23:04:40 1994.msg < prev    next >
Internet Message Format  |  1994-08-01  |  5KB

  1. Received: from hela.INS.CWRU.Edu by nfs1.digex.net with SMTP id AA16115
  2.   (5.67b8/IDA-1.5 for <mcox@access.digex.net>); Tue, 5 Jul 1994 23:04:36 -0400
  3. Received: from svcs1.digex.net (svcs1.digex.net [164.109.10.23]) by hela.INS.CWRU.Edu with SMTP (8.6.8.1+cwru/CWRU-2.1-freenet-gw)
  4.     id XAA18222; Tue, 5 Jul 1994 23:04:30 -0400 (from amos-request@svcs1.digex.net)
  5. Received: by svcs1.digex.net id AA12185
  6.   (5.67b8/IDA-1.5 for amos-out); Tue, 5 Jul 1994 19:28:47 -0400
  7. Received: from nfs1.digex.net by svcs1.digex.net with SMTP id AA12181
  8.   (5.67b8/IDA-1.5 for <amos@svcs1.digex.net>); Tue, 5 Jul 1994 19:28:44 -0400
  9. Received: from CCVAX.FULLERTON.EDU (csu.Fullerton.EDU) by nfs1.digex.net with SMTP id AA04064
  10.   (5.67b8/IDA-1.5 for <amos-list@access.digex.net>); Tue, 5 Jul 1994 19:28:40 -0400
  11. Received: from FULLERTON.EDU by FULLERTON.EDU (PMDF #2446 ) id
  12.  <01HECQPVH35C00DI6L@FULLERTON.EDU>; Tue, 5 Jul 1994 16:25:21 PST
  13. Date: 05 Jul 1994 16:25:21 -0800 (PST)
  14. From: XRACTON@CCVAX.FULLERTON.EDU
  15. Subject: Re: ACE
  16. To: amos-list@access.digex.net
  17. Message-Id: <01HECQPVIFDU00DI6L@FULLERTON.EDU>
  18. X-Vms-To: IN%"amos-list@access.digex.net"
  19. Mime-Version: 1.0
  20. Content-Transfer-Encoding: 7BIT
  21. Status: RO
  22.  
  23.   Kimmo just posted a message to the list about ACE. ACE is
  24. essentially a souped-up version of Amiga Basic. It doesn't have any
  25. of the extras (like AMAL) that Amos has. However, it's extremely
  26. stable, the author has an Internet address, and he usually fixes any
  27. bugs as soon as they're reported. The only real problem with it is
  28. that the compiler's kind of a memory hog, and you may have trouble
  29. compiling/assembling any source code larger than 150K.
  30.   When I released my own compiler (not a Basic compiler) a few
  31. months back, I compared it to what other languages I had around. I
  32. thought you might be interested in seeing the results of those
  33. tests. Amos didn't do so good... :)
  34.   The reason for the huge time difference between Struct/C and
  35. ACE/Amos is that neither of the two Basics use register variables.
  36. Assembly language programmers know how important this is.
  37.   I used the Creator version of Amos.
  38.  
  39.  
  40.  
  41.   SAS C 6.2 is a commercial C compiler, published by SAS Institute.
  42. The included assembler and linker were used. The optimization flag
  43. was not used because the optimizer kept throwing the test code away.
  44. (But, looking at the assembly code, I doubt it would have made much
  45. difference)
  46.   Struct is a copyrighted but freely redistributable compiler,
  47. written by Roland Acton. The PhxAss optimizing assembler and PhxLnk
  48. linker, included with Struct, were used.
  49.   AMOS is a commercial BASIC interpreter, written by Francois Lionet
  50. and published by Europress software. The AMOS compiler was used, and
  51. the numbers given are for the compiled versions of the speed tests.
  52.   ACE is a freeware BASIC compiler, written by David Benn. The A68k
  53. assembler and Blink linker, included with ACE, were used.
  54.   The tests were performed on an Amiga 500 with 1 MB chip and 2 MB
  55. fast, running Kickstart 1.3.
  56.  
  57. Results (numbers represent seconds):
  58.  
  59.               C     Struct      AMOS      ACE
  60. --------------------------------------------------
  61. Test 1      114        107       662      504
  62. Test 2      230        109      1694     1200
  63. Test 3      441        107      2313      866
  64. Test 4      119        119      1115      660
  65. Test 5      114        114       887      571
  66. Test 6      116         95       660      504
  67. Test 7      130        107       709      538
  68. Test 8      121         76       622      442
  69.  
  70.   The tests themselves were quite trivial and focused on loop
  71. structures, comparisons, and simple mathematics. They are not
  72. sufficiently general to be called true benchmarks. The tested
  73. operations, however, are important parts of all useful programs.
  74.   TEST 1 was a For/Next loop.
  75.   TEST 2 used the Zeroloop construct, unique to Struct. For/Next
  76. loops with negative steps were used in the other languages.
  77.   TEST 3 was to acquire the remainder from a division and use it in
  78. an If/Then. This was surrounded by a For/Next loop.
  79.   TEST 4 was a Repeat/Until loop. Do/While was substituted in C.
  80.   TEST 5 was a While/Wend loop.
  81.   TEST 6 was a Loop/End Loop construct. For/Next was substituted in
  82. the other languages.
  83.   TEST 7 was a test of literal concatenation. An If/Then, with the
  84. condition containing numeric literals added to a variable, was
  85. surrounded with a For/Next loop.
  86.   TEST 8 was to access memory. A Byte Peek with a computed memory
  87. address was surrounded by For/Next loops. The memory reference
  88. operator with char casting was used in C. Peek was used in AMOS and
  89. ACE.